#ifndef __ES_IIC_H__
#define __ES_IIC_H__

#include "stm8s.h"
#include "stm8s_i2c.h"


//iic初始化
//my_addr 自身地址
//iicSpeed i2c时钟速度,40000或160000
void iic_init(u16 my_addr,u32 iicSpeed);




/*
主机模式-发送数据

slaveAddr:目标地址(7bit)
buf:字节缓存起始地址
len:缓存长度
*/
void iic_master_write(u8 slaveAddr,u8* wBuf,int wLen);


/*
主机模式-先发送数据，然后读取数据

slaveAddr:目标地址
wBuf:wirte缓存
wLen:wirte长度
rBuf:read缓存
rLen:read长度
*/
void iic_master_write_read(u8 slaveAddr,u8* wBuf,int wLen,u8* rBuf,int rLen);



/*
主机读取模式

slaveAddr:目标地址
rBuf:read缓存
rLen:read长度
*/
void iic_master_read(u8 slaveAddr,u8* rBuf,int rLen);



//写地址寄存器
void iic_master_write_reg(u8 slaveAddr, u8 reg, u8 data);

//读取地址寄存器
void iic_master_read_reg(u8 slaveAddr,u8 reg, u8* data);



/* 等待I2C总线 */
void iic_waitBus(void);


#endif
